#ifndef __MEM_INIT__
#define __MEM_INIT__


#include <utility>
#include <vector>
#include <cstdint>

template<class T>
void mem_write(T address,T value);

template<class T>
void mem_read(T address,T& value);


template<class T>
void mem_write(std::vector<std::pair<T,T>> w);

template<class T>
void mem_read(std::vector<std::pair<T,T&>> r);

template<class T>
T* phy_mem_alloc(int32_t& fd,uint32_t phyaddr,int32_t& size);

template<class T>
void phy_mem_free(T* mem,int32_t size,int fd);
#endif /*__MEM_INIT__*/
